# 使用Go 1.21版本的官方镜像作为基础镜像
FROM golang:1.21

# 安装dlv所需的依赖
RUN apt-get update && apt-get install -y --no-install-recommends \
    g++ \
    libc6-dev \
    pkg-config \
    git \
    curl \
    && rm -rf /var/lib/apt/lists/*

# 设置环境变量
ENV GO111MODULE=on
ENV GOPROXY=https://goproxy.io

# 安装dlv
RUN go install github.com/go-delve/delve/cmd/dlv@latest

# 暴露dlv的调试端口
EXPOSE 2345

# 安装ssh服务
RUN apt-get update && apt-get install -y openssh-server

# 创建ssh运行时所需的目录
RUN mkdir /var/run/sshd

# 设置SSH无密码登录（非生产建议）
RUN echo 'root:2868463718' | chpasswd
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

# 开放22端口
EXPOSE 22

# 启动ssh服务
CMD ["/usr/sbin/sshd", "-D"]